The terms “Information Warehouse” and “Data Warehouse” refer generally to relational database management systems (RDBMS) and to the associated programming language command tools and processes used in the storage, retrieval and analyzing of the data in database tables structures defined therein. Information Warehouse databases are generally organized with respect to dimensional data and fact tables. A dimension is a data element that categorizes each item in a data set into non-overlapping regions, and provides structured labeling information to otherwise unordered numeric measures. For example, “Customer”, “Date”, and “Product” are all dimensions that could be applied meaningfully to a sales receipt.
Fact tables comprise measurements, metrics or facts of a business or other process, and are organized in a schema, a logical arrangement of tables in a multidimensional database, and surrounded by dimension tables. Fact tables provide the values that act as independent variables by which dimensional attributes may be analyzed. For example, a sales fact table may be considered with respect to “sales volume by day by product by store,” wherein each record in the fact table is uniquely defined by a day, product and store.
Updating data warehouse tables may be complicated and costly in terms of programming overhead, generally requiring the design and implementation of batch flows or procedures to execute a series of individual programming language database operation commands, and which often must be customized for every update event. Additional database staging tables are also generally required to handle data during updating. Such process not only leads to undesired overhead for build costs and ongoing maintenance, but as the update process can fail at anytime during any of multiple steps, table locking and restart procedures must also be taken into consideration.